I suppose there is a mistake in Pawn::LookForMonsters() function. In FOREACH loop there is no condition for 'mo' = null (I believe it can be null in some cases). I tried to make a monster that acts as an ally for player and he uses LookForMonsters() in his overriden function A_Look(), and when I place him on map and launch it, game crashed; until I put to LookForMonsters in FOREACH loop additional condition:
if ( !mo )
continue;
and then it worked.